java -XX:+PrintFlagsFinal -version | findstr HeapSize , find out actual Xmx default in bytes - https://www.edureka.co/community/5621/default-parameters-of-xms-and-xmx-in-jvm

-XX:+PerfDisableSharedMem , prevent locking by sharedmem in linux - http://www.evanjones.ca/jvm-mmap-pause.html

How linkedin turn the GC - http://engineering.linkedin.com/garbage-collection/garbage-collection-optimization-high-throughput-and-low-latency-java-applications

Using generational & concurrent GC collector - http://www.javacodegeeks.com/2012/04/ibm-jvm-tuning-gencon-gc-policy.html

Full VM option list : http://blogs.sun.com/roller/resources/watt/jvm-options-list.html, update for Java7 - http://nerds-central.blogspot.com/2011/07/all-jvm-7-xx-options.html http://stas-blogspot.blogspot.com/2011/07/most-complete-list-of-xx-options-for.html

A simplified list for some frequency use options - http://rdafbn.blogspot.com.au/2013/11/garbage-collector-guidelines-and-tips.html

HotSpot JVM garbage collection options cheat sheet - http://aragozin.blogspot.com/2011/07/hotspot-jvm-garbage-collection-options.html http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html 

An example and story about effect of difference VM parameter affecting the performance - http://www.javaspecialists.eu/archive/Issue191.html

Clear the code cache automatically with  -XX:+UseCodeCacheFlushing - http://blogs.amd.com/developer/2010/04/12/better-uptime-for-long-running-java-applications/

Discussion about -XX:MinHeapFreeRatio parameter - http://www.gossamer-threads.com/lists/lucene/java-user/44286#44286

The other detailed guide for VM parameters tuning - http://java.sun.com/j2se/1.5/pdf/jdk50_ts_guide.pdf

Here is a more simple cookbook - http://java.sun.com/performance/reference/whitepapers/tuning.html

A outdated (1.4) , compehensive but still not really too detailed, overview of various GC tuning - http://www.petefreitag.com/articles/gctuning/

Some say following VM parameter is good enough
-server -Xmx -XX:+UseParallelGC
http://blogs.sun.com/roller/page/binublog?entry=java_tuning_for_xml

Some say is useful if you have huge memory
-XX:+UseLargePages
http://blogs.sun.com/roller/page/dagastine?entry=java_se_tuning_tip_large

Some say below parameter keep GC in low pause
-XX:MaxGCPauseMillis=5000
Some say below parameter are very optimal
-XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:NewSize=1200m -XX:SurvivorRatio=16
http://www.theserverside.com/news/thread.tss?thread_id=41258&ASRC=EM_NNL_347804
Some say those parameter is good
-XX:+UseConcMarkSweepGC
  -XX:ParallelCMSThreads=1
  -XX:+CMSIncrementalMode
  -XX:+CMSIncrementalPacing
  -XX:CMSIncrementalDutyCycleMin=0
  -XX:CMSIncrementalDutyCycle=10
http://blog.mikiobraun.de/2010/08/cassandra-gc-tuning.html

Just in case anyone is curious, the flags enabled by -XX:+AggressiveOpts  in JDK 1.6.0_25 are:
 
-XX:+EliminateAutoBox
-XX:AutoBoxCacheMax=20000
-XX:BiasedLockingStartupDelay=500
-XX:+DoEscapeAnalysis 
-XX:+OptimizeStringConcat
-XX:+OptimizeFill

Generate dump with OOME - -XX:+HeapDumpOnOutOfMemoryError 

GC log sample of -XX:+UseConcMarkSweepGC -XX:PrintFLSStatistics=1 -XX:+PrintGCDetails - https://gist.github.com/1329783

A case study of tuning VM GC parameters - http://plumbr.eu/blog/should-you-trust-the-default-settings-in-jvm

Explanation for few performance related VM parameters - http://www.techpaste.com/2012/02/java-command-line-options-jvm-performance-improvement/

Show the exact vm flag that java using - http://matthewkwilliams.com/index.php/2015/10/02/looking-inside-a-jvm-xxprintflagsfinal/

For G1GC - https://dzone.com/articles/g1gcgarbage-first-garbage-collector-tuning-flags-1

https://ionutbalosin.com/2020/01/hotspot-jvm-performance-tuning-guidelines